import request from '../index';

/**
 * 获取今日训练
 * @returns {Promise} - 返回今日训练数据
 */
export function getUserTrain() {
    return request.get({
        url: '/mftSyBE23x.php/Train/getUserTrain'
    });
}

/**
 * 获取训练详情
 * @param {Object} data - 请求参数
 * @param {string} data.train_id - 训练ID
 * @returns {Promise} - 返回训练详情数据
 */
export function getTrainInfo(data) {
    return request.get({
        url: '/mftSyBE23x.php/Train/getTrainInfo',
        data
    });
}

/**
 * 提交训练结果
 * @param {Object} data - 请求参数
 * @param {string} data.child_id - 训练子项ID
 * @returns {Promise} - 返回提交结果
 */
export function saveTrainInfo(data) {
    return request.post({
        url: '/mftSyBE23x.php/Train/saveTrainInfo',
        data
    });
}

/**
 * 获取配置图片
 * @param {Object} data - 请求参数
 * @param {string} data.category_id - 图片类型ID，例如：1表示轮播图
 * @returns {Promise} - 返回图片列表数据
 */
export function getImagesList(data) {
    return request.get({
        url: '/mftSyBE23x.php/Common/getImagesList',
        data
    });
}

/**
 * 上传图片信息
 * @param {Object} data - 请求数据
 * @param {String} filePath - 要上传的文件
 * @returns {Promise} - 返回上传结果
 */
export function uploadImage(filePath) {
    return request.upload({
        url: '/mftSyBE23x.php/Common/uploadImage',
        filePath
    });
}

/**
 * 获取协议配置
 * @param {Object} data - 请求参数
 * @param {string} data.type - 协议类型，例如：privacy_agreement(隐私协议)、aboutus_agreement(关于我们)
 * @returns {Promise} - 返回协议内容
 */
export function getAgreement(data) {
    return request.get({
        url: '/mftSyBE23x.php/Common/getAgreement',
        data
    });
}

/**
 * 用户登录接口
 * @param {Object} data - 请求数据
 * @param {string} data.code - 登录码
 * @returns {Promise} - 返回用户信息和token
 */
export function authLogin(data) {
    return request.post({
        url: '/mftSyBE23x.php/User/authLogin',
        data
    });
}

/**
 * 编辑基本资料
 * @param {Object} data - 请求数据
 * @param {string} [data.user_name] - 用户名称
 * @param {string} [data.user_avatar] - 用户头像
 * @param {string} [data.user_sex] - 用户性别
 * @param {string} [data.user_birth] - 用户生日
 * @param {string} [data.user_profile] - 用户简介
 * @param {string} [data.user_mobile] - 用户手机号
 * @returns {Promise} - 返回更新结果
 */
export function updateBaseInfo(data) {
    return request.post({
        url: '/mftSyBE23x.php/User/updateBaseInfo',
        data
    });
}

/**
 * 获取文章分类
 * @returns {Promise} - 返回文章分类列表
 */
export function getCategoryList() {
    return request.get({
        url: '/mftSyBE23x.php/Article/getCategoryList'
    });
}

/**
 * 获取文章列表
 * @param {Object} data - 请求参数
 * @param {string} data.category_id - 分类ID
 * @param {string} data.sort_type - 排序类型
 * @param {string} data.page_no - 页码
 * @param {string} data.page_size - 每页数量
 * @returns {Promise} - 返回文章列表数据
 */
export function getArticleList(data) {
    return request.get({
        url: '/mftSyBE23x.php/Article/getArticleList',
        data
    });
}

/**
 * 获取文章详情
 * @param {Object} data - 请求参数
 * @param {string} data.article_id - 文章ID
 * @returns {Promise} - 返回文章详情数据
 */
export function getArticleInfo(data) {
    return request.get({
        url: '/mftSyBE23x.php/Article/getArticleInfo',
        data
    });
}

/**
 * 获取推荐视频
 * @returns {Promise} - 返回推荐视频列表
 */
export function getRecommendList() {
    return request.get({
        url: '/mftSyBE23x.php/Video/getRecommendList'
    });
}

/**
 * 获取视频列表
 * @param {Object} data - 请求参数
 * @param {string} [data.keyword] - 搜索关键词
 * @param {string} data.page_no - 页码
 * @param {string} data.page_size - 每页数量
 * @returns {Promise} - 返回视频列表数据
 */
export function getVideoList(data) {
    return request.get({
        url: '/mftSyBE23x.php/Video/getVideoList',
        data
    });
}

/**
 * 获取视频详情
 * @param {Object} data - 请求参数
 * @param {string} data.video_id - 视频ID
 * @returns {Promise} - 返回视频详情数据
 */
export function getVideoInfo(data) {
    return request.get({
        url: '/mftSyBE23x.php/Video/getVideoInfo',
        data
    });
}

/**
 * 获取培训记录列表
 * @param {Object} data - 请求参数
 * @param {string} data.page_no - 记录页码
 * @param {string} page_size - 每页条数
 * @returns {Promise} - 返回视频详情数据
 */
export function getTrainRecord(data) {
    return request.get({
        url: '/mftSyBE23x.php/Train/getTrainRecord',
        data
    });
}

/**
 * H5账号密码登录接口
 * @param {Object} data - 请求数据
 * @param {string} data.user_name - 用户姓名
 * @param {string} data.user_mobile - 用户手机号
 * @returns {Promise} - 返回用户信息和token
 */
export function accountLogin(data) {
    return request.post({
        url: '/mftSyBE23x.php/User/accountLogin',
        data
    });
}
